package com.example.demo.service;

import com.example.demo.pojo.PageResult;
import com.example.demo.pojo.dto.OrderPageDTO;
import com.example.demo.pojo.dto.OrderPayDTO;
import com.example.demo.pojo.dto.OrderSubmitDTO;
import com.example.demo.pojo.entity.Order;
import com.example.demo.pojo.vo.OrderSubmitVO;
import com.example.demo.pojo.vo.OrderVO;

import java.util.List;

public interface OrderService {
    OrderSubmitVO submit(OrderSubmitDTO orderSubmitDTO);

    List<Order> list(Integer status);

    OrderVO getOrderInfo(Long id);

    void payment(OrderPayDTO orderPayDTO);

    void cancel(Long id,String cancelReason);

    void unPayment(OrderPayDTO orderPayDTO);

    void confirm(Long id);

    PageResult page(OrderPageDTO orderPageDTO);

    void finish(Long id);
}
